<?php

// +----------------------------------------------------------------------

// | OneThink [ WE CAN DO IT JUST THINK IT ]

// +----------------------------------------------------------------------

// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.

// +----------------------------------------------------------------------

// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://www.zjzit.cn>

// +----------------------------------------------------------------------



namespace Addons\Attachment\Controller;

use Home\Controller\AddonsController; 



class AttachmentController extends AddonsController{

	

	/* 附件下载 */

	public function download(){

		/* 获取附件ID */

		$id = I('get.id');

		if(empty($id) || !is_numeric($id)){

			$this->error('附件ID无效！');

		}



		/* 下载附件 */

		$Attachment = D('Addons://Attachment/Attachment');

		if(false === $Attachment->download($id)){

			$this->error($Attachment->getError());

		}



	}



	/* 上传附件 */

	public function upload(){

		/* 返回标准数据 */

		$return  = array('status' => 1, 'info' => '上传成功', 'data' => '');



		/* 获取当前分类附件配置信息 */

		$default  = C('ATTACHMENT_DEFAULT');

		$category = get_category(I('get.category'));



		/* 分类正确性检测 */

		if(empty($category)){

			$return['status'] = 0;

			$return['info']   = '没有指定分类或分类不正确；';

		} else {

			$config = $category['extend']['attachment'];

			$config = empty($config) ? $default : array_merge($default, $config);



			/* 检测并上传附件 */

			if(in_array('2', str2arr($config['allow_type']))){

				$setting = C('ATTACHMENT_UPLOAD');



				/* 调用文件上传组件上传文件 */

				$File = D('File');

				$info = $File->upload($_FILES, $setting, $config['driver'], $config['driver_config']);

				/* 记录附件信息 */

				if($info){

					$return['data'] = think_encrypt(json_encode($info['attachment']));

				} else {

					$return['status'] = 0;

					$return['info']   = $File->getError();

				}

			} else {

				$return['info']   = '该分类不允许上传文件附件！';

				$return['status'] = 0;

			}

		}



		/* 返回JSON数据 */

		$this->ajaxReturn($return);

	}



}

